Wireless networks generally include multiple access points for wireless connectivity to multiple mobile stations. Such connectivity allows a mobile station to communicate with any number of types of devices within a network, for instance, a mainframe, a server, a networked printer, another mobile station, and the like. Mobile stations determine which network to join by scanning for available channels. Scanning may be either an active or passive on one or more radio channels.
Passive scanning is carried out by a mobile station simply listening for signals broadcast from access points attached to the network. Active scanning is performed when a mobile station actively broadcasts a probe request signal or the like. A probe request signal is meant to solicit a probe response signal from available access points, based on which the mobile station is then able to gain access to the network. The interchange of the probe request and probe response signals is generally referred to as a “handshake.”
When a mobile station is moving out of range of one access point and potentially into range of another access point, a handoff between those access points occurs. Conventionally, such handoffs have been time consuming. Different problems can result from either of handshake or handoff latency, ranging from interruption of communication all the way to lack of communication between a mobile station and a network's access points.
For instance, communications interruptions can result from Transfer Control Protocol (“TCP”) congestion-avoidance algorithms kicking-in because of TCP-imposed time limits, causing decreased throughput between mobile stations and the network. Such latency can cause serious deterioration in voice transmission quality, for example, when handshake latency causes voice service interruption time to exceed 35 msec. As explained in greater detail below, handshake latency can easily exceed permissible limits, potentially causing a total loss of communication.
FIG. 1 is a diagrammatic example of a wireless local area network (“WLAN”), in which multiple mobile stations 10 wirelessly communicate with access points 20 via wireless signals 30. Access points 20 act as mediators between the mobile stations 10 and devices already connected to the network in either wired or wireless fashion (e.g., a server 40, a computer 50, a networked printer 60, or other mobile stations).
In order to communicate with the network, the mobile station 10 first senses the wireless medium 30 to determine if another mobile station is transmitting over a particular channel. If the channel is determined not to be busy, the mobile station proceeds with an attempt to communicate with the network on that channel.
The mobile station's attempt to communicate is orchestrated by, for example, a Distributed Coordination Function (“DCF”) which may determine using techniques, such as Carrier Sense Multiple Access with Collision Avoidance (“CSMA/CA”), when any number of mobile stations are operating within the network, as well as when those mobile stations should be permitted to transmit and receive frames over the wireless medium.
Using one or more algorithms in accordance with the DCF, the CSMA/CA requires that a gap of a specified duration (otherwise called an Interframe Space, or “IFS”) exists between all contiguous sequences of transmitted data. A transmitting device (whether an access point on the network or a mobile station) is required to ensure that the wireless medium is idle for a specific duration (the duration being specified by the type of IFS, as explained herein) prior to attempting to transmit. An IFS differs in length according to the priority of the frames being transmitted.
For example, a Short Interframe Space (“SIFS”), which is the shortest interframe gap, is employed when a transmitting device has seized a channel on the wireless medium and needs to keep the channel for the duration of the frame exchange to be performed. One such SIFS example is the acknowledgement frame (otherwise known as the “ACK signal” or “ACK frame”). Using the smallest gap between transmissions within the frame exchange sequence prevents other transmitting devices (whether access points or mobile stations) from attempting to use the seized channel because the other transmitting devices have to wait for the channel to be idle for a period of time that is longer than the SIFS period. Accordingly, the DCF and CSMA/CA provide priority to the current frame/data exchange sequence over attempts by other transmitting devices to transmit new data exchange sequences over the same channel on the wireless medium.
Another example of an interframe space is the Point Interframe Space (or “PIFS”). A PIFS is only used by transmitting devices operating under a Point Coordination Function (“PCF”) to gain priority access to a channel on the wireless medium at the start of a contended free period. A PIFS gap is longer than a SIFS gap.
A Distributed Interframe Space (“DIFS”), which is longer than a PIFS gap, is used by transmitting devices operating under the Distributed Coordination Function (“DCF”) and CSMA/CA to transmit data exchange frames and management frames. Management frames include such frames as probe requests and probe responses, which are used for communications handshakes between a mobile station and an access point.
When transmitting under the DCF, if a mobile station determines that a channel on the wireless medium is busy, the mobile station delays transmitting any new frames until the end of the current transmission. After this delay, or before attempting to transmit immediately following a successful transmission, the station selects a random backoff interval and decrements a backoff interval counter while the channel on the wireless medium is idle. The station reattempts transmission when the backoff interval counter reaches zero.
Further general parameters of the various IEEE 802.11 WLAN standards concern frame receptions/acknowledgments, physical and virtual carrier sense functions, and frame types. These parameters provide transport functions that ensure an intended receiver receives the total amount of bits and bytes in a data message correctly. These further parameters are generally discussed below with respect to FIGS. 2-7.
In FIG. 2, the basic field of a probe request signal may include the following: frame control, duration, destination address (“DA”), source address (“SA”), basic service set identification (“BSSID”), sequence control, service set identification (“SSID”), supported rates, and frame check sequence (“FCS”). Of these fields, the first six (frame control, duration, DA, SA, BSSID, and Sequence Control) are part of what is known as the Media Access Control (or “MAC”) header for controlling transmission over the wireless medium. The next two fields (SSID and supported rates) constitute the probe request body. The final field (FCS) is used for error-detection.
The MAC header derives from the data link layer (otherwise known as the Media Access Control layer, or “MAC” layer) of the network. This layer provides a virtual carrier-sense mechanism (also known as a network allocation vector, or “NAV”), for maintaining a prediction of future traffic on the medium based on duration information that is available in the MAC headers of all transmitted information, with few exceptions.
The network may include a physical layer for providing a physical carrier-sense mechanism, which is based on energy detection in the wireless medium. In combination, the physical and virtual carrier-sense mechanisms help to determine the state of the wireless medium.
When attempting to communicate, mobile stations send probe request signals (including the MAC header) to scan the area for an existing network channel, and to solicit a probe response from a network access point (“AP”). Receiving APs use the probe request body (including the SSID and supported rates fields) to determine whether the mobile station can join the network. The mobile station desirably supports the data rates required by the AP, and indicates a desire to join any network or the network identified by the SSID.
Further, as noted above, general receiving rules under the 802.11 standards include a mobile station using a DA (destination address) field to perform address matching for receiving decisions. In the case of the DA field containing a group address (e.g., a broadcast address) when the field is other than a beacon field, the BSSID must be validated. That is, the BSSID field must have the same BSSID as the recipient. The BSSID field can be the broadcast BSSID if the field is a probe request. All transmitting devices (including APs and mobile stations) receiving data or management fields with a DA field other than a group address, respond to the received data or management fields with an acknowledgement signal (or “ACK” signal) transmitted with a SIFS deferral. However, if received fields have a group address in the DA field, ACK fields are not transmitted.
FIG. 3 is a diagram showing commonly incorporated bits that make up the control field of a probe request. Type bits (B2, B3) and subtype bits (B4-B7) of the control field are used for identification of the field type. Table 1 provides examples of valid type and subtype combinations as used in the field control field of the probe request signal.
TABLE 1Examples of Valid Type and Subtype CombinationsType ValueTypeSubtype valueB3 B2descriptionB7 B6 B5 B4Subtype description00Management0100Probe request00Management0101Probe response00Management1000Beacon00Management1101Action00Management1110-1111Reserved01Control1101Acknowledgement (ACK)
FIG. 4 shows the basic fields of a probe response signal, including a MAC header (for instance those MAC header fields described above in relation to the probe request signal) and a frame body. The frame body includes a timestamp, a beacon interval, capability information, the SSID, supported rates, data set parameters (“DS”parameters), control frame parameters (“CF” parameters) and frame check sequence (FCS).
The probe response comprises fields for informing the mobile station transmitting the probe request of the network's characteristics, enabling the mobile station to match parameters so as to be able to join the network. Similarly to the fields of a probe request, type bits (B2, B3) and subtype bits (B4-B7) of the probe response's frame control field identify the frame type. Table 1 provides examples of valid type and subtype combinations as used in the frame control field of the probe response signal.
FIG. 5 shows the fields of the acknowledgement (or “ACK”) signal. ACK signals are used to send positive acknowledgments in response to received frames. Similarly to the fields of a probe request and probe response, type bits (B2, B3) and subtype bits (B4-B7) of the ACK's frame control field identify the frame type. Table 1 provides examples of valid type and subtype combinations as used in the frame control field of the ACK signal.
FIG. 6 is a flowchart depicting the probe request portion of a handshake when scanning a network for available channels. The mobile station begins by discerning whether there are any unscanned channels in the network. If all channels have been scanned under the Distributed Coordination Function, the process is complete.
When there are unscanned channels, the mobile station transmits a probe request to a selected channel while simultaneously clearing and starting a probe timer clock (also known as “ProbeTimer”). The mobile station then senses the wireless medium to determine if the medium is busy until a minimum channel time is reached (the minimum channel time is also known as “MinChannelTime”).
If the wireless medium is not busy during MinChannelTime, the channel is marked as scanned and the mobile station returns to querying whether there are any unscanned channels in the network. If all channels have been scanned under the Distributed Coordination Function, the process is complete. If any unscanned channels remain, the mobile station transmits another probe request to a selected channel while simultaneously clearing and starting the ProbeTimer clock. The mobile station then senses the wireless medium to determine if the medium is busy until MinChannelTime is reached.
If the wireless medium is busy during MinChannelTime, then the station waits until the ProbeTimer clock signal reaches a maximum channel time (also known as the “MaxChannelTime” signal). Additionally, if any unicast frame is received at the mobile station, the unicast frame is responded to with an acknowledgement signal (also known as an “ACK” signal) from the mobile station.
When the MaxChannelTime is reached, any received probe responses are processed, and the probed channel is marked as scanned. The process of FIG. 6 continues until all unscanned channels have been scanned.
FIG. 7 is a flowchart showing the procedure used by access points (APs) for sending out a probe response in answer to a received probe request signal. Proper probe request signals include a broadcast destination designated by the destination address (“DA”) field, a broadcast BSSID, and probe request fields that satisfy the particular reception rules for the particular access points (“APs”) receiving the probe request. On receiving probe request fields, the APs respond with a probe response only if the SSID in the probe request is the broadcast SSID, or if the SSID in the probe request matches the specific SSID of a particular AP. Probe response frames (for example, those response frames with the characteristics as described above in relation to FIG. 4) are sent as directed frames to the address of the mobile station that generated the probe request. On receipt, the mobile station acknowledges them with an ACK signal.
If a probe response is not acknowledged with an ACK signal, the probe response is retransmitted for a predetermined number of attempts (the limit on number of retransmission attempts is also known as the RetransmissionLimit). The probe response follows the normal rules of the DCF (as previously described). APs transmitting a probe response are continuously maintained in an awake state, and respond to all probe requests meeting the above-noted criteria.
In FIG. 7, a counter (for counting the number of attempts before an ACK signal is received in response to a transmitted probe response) is cleared at the beginning of the process. Then, received probe requests are checked to see whether the request's SSID is the broadcast SSID, or whether the SSID of the probe request matches the AP's SSID. If neither of these criteria is met, a probe response is not sent, and the process ends. If either of these criteria is met, the counter is checked to see whether the retransmission limit is less than the predetermined retransmission limit. If the retransmission limit has been reached, an additional probe response is not sent, and the process ends.
If the retransmission limit has not been reached, then a probe response is sent under the normal rules of DCF. The AP then waits for reception of an acknowledgement (“ACK”) signal. If the ACK signal is received before an acknowledgement timeout (“AckTimeOut”), then the process is complete. If an ACK signal is not received prior to the AckTimeOut timing out, the counter is incremented and the process begins again with the comparison of the retransmission limit to the counter value, as described above, until the process has completed with either the RetransmissionLimit being reached, or reception of an ACK signal before the AckTimeOut timing out.
FIG. 8 shows an example of an overall handshake between a mobile station and an AP, from initial probe request to subsequent probe response and acknowledgement signal transmission. In FIG. 8, a first mobile station (“STA 1”) is scanning for availability of a specific channel on a network, for example, channel 1. STA 1 contends for the medium of channel 1 under the basic access rules of DCF by transmitting a probe request signal with a broadcast destination address and broadcast BSSID. Since the probe request has been broadcast, any APs in the physical transmission area of the probe request that are using channel 1 will receive the probe request signal and will attempt to respond with their own probe response signals. For instance, AP 1 and AP 2 shown in FIG. 8 will each attempt to respond with a probe response.
When AP 1 and AP 2 transmit their own probe responses, AP 1 and AP 2 contend for the medium under the basic access rules of the DCF, as explained above. Further, AP 1 and AP 2 are also contending with other transmitting devices (e.g., STA 2 as shown in FIG. 8) attempting to send their own frames under the DCF. Frames thus colliding are known to potentially cancel one another out, or to cancel one or the other out.
A mobile station that has sent a probe request frame determines the availability of the APs based on the medium status as reflected by the receipt of probe responses within the minimum channel time (also known as the MinChannelTime). A probe timer (also known as “ProbTimer”) tracks the time for response to the probe request. If the wireless medium is idle until the ProbTimer reaches MinChannelTime, the mobile station considers that no AP is available, as reflected by cases 5 and 7 in Table 2.
TABLE 2Determination of AP Availability Through ProbingReceiptTransmission ofofMedium busyProbe ResponseReceiptDeterminedAvailabilityProbeduringduringof ProbeAvailabilityJudgmentof APRequestMinChannelTimeMaxChannelTimeResponseof APCorrectnessCase 1◯◯◯◯◯◯◯Case 2◯◯◯◯XXXCase 3◯◯◯XXXXCase 4◯X◯XXXXCase 5◯◯/XX◯/XXXXCase 6XX◯XXX◯Case 7XXXXXX◯
Conversely, if the wireless medium is not idle as determined by receipt of a probe response within the MinChannelTime period, the AP having sent the probe response is considered as available to serve the mobile station (for instance, case 1 of Table 2). Otherwise (as shown by cases 2, 3, 4, and 6 of Table 2), the mobile station considers that no APs are available. However, the judgment that no AP is available is not always correct, as explained below.
In Table 2, correct judgment is reflected by cases 1, 6 and 7. In case 1, the AP is available and successful receipt of a probe response signal verifies this. In case 6, no AP is available. That is, either the AP or mobile station are out of the physical transmission area and either the probe request or probe response cannot be delivered to the recipient. This fact is derived from a failure to receive a probe response within the time limit of MaxChannelTime.
In case 7, no AP is available. That is, either the AP or mobile station are out of the physical transmission area and there fails to be another active station transmitting in the vicinity. MinChannelTime thus expires without the mobile station detecting the wireless medium as busy.
Further in Table 2, incorrect judgment is reflected in cases 2, 3, 4 and 5. In case 2, the probe request was received correctly, and the probe response was sent before expiration of MaxChannelTime. However, the mobile station could not receive the probe request correctly. Reasons why this may occur include the probe response signal colliding with frame transmissions of other stations or other APs. In case 3, the probe request has also been received correctly, but the probe response signal cannot be sent prior to MaxChannelTime expiring. This may be due to the AP not being able to get a timely transmission opportunity for a probe response, or because of medium contention with other stations or APs, or as a result of other data frames that precede the probe response in the transmission queue. In case 4, the AP could not receive the probe request correctly. The probe request could have collided with the frame transmissions of other mobile stations or APs. In case 5, MinChannelTime has been set to an improper value that is smaller than is actually required.
In cases 2 through 5 of Table 2, the decision that no APs are available is incorrect. A scanning mobile station in conventional scanning mode is thus provided three options for handling these problems: (1) use of a larger MinChannelTime, (2) use of a larger MaxChannelTime, or (3) retransmission of the probe request signal.
In any of the above-three options, an increase in scanning time is traded for the associated increase in accuracy. The problem of handshake latency resulting from any of the above-three options is only multiplied by the plurality of channels to be scanned, as there typically is more than one channel to be scanned in a wireless network. Conventional methods are accordingly extremely inefficient in terms of scanning time, the result being high handshake latency. As explained above, problems resulting from high handshake latency vary from mere interruption of communication all the way to utter non-communication between a mobile station and a network's access points.